package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * DcRetAnual generated by hbm2java
 */
@Entity
@Table(name = "DC_RET_ANUAL", schema = "EDADEPUDOC")
public class DcRetAnual implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -4379831590464274094L;
	private DcRetAnualId id;
	private TbCodIngRet tbCodIngRet;
	private Date fpobligacion;
	private String nitagenteRet;
	private String nitempleado;
	private String snombreEmpleado;
	private Double vmontoDeveng;
	private Double vmontoRetenido;
	private Integer bstatus;

	public DcRetAnual() {
	}

	public DcRetAnual(DcRetAnualId id, String nitagenteRet, String nitempleado,
			Integer bstatus) {
		this.id = id;
		this.nitagenteRet = nitagenteRet;
		this.nitempleado = nitempleado;
		this.bstatus = bstatus;
	}

	public DcRetAnual(String nitagenteRet, String nitempleado,
			 Double vmontoDeveng, Double vmontoRetenido) {		
		this.nitagenteRet = nitagenteRet;
		this.nitempleado = nitempleado;
		//this.bstatus = bstatus;
		this.vmontoDeveng = vmontoDeveng;
		this.vmontoRetenido = vmontoRetenido;
	}
	public DcRetAnual(DcRetAnualId id, TbCodIngRet tbCodIngRet,
			Date fpobligacion, String nitagenteRet, String nitempleado,
			String snombreEmpleado, Double vmontoDeveng, Double vmontoRetenido,
			Integer bstatus) {
		this.id = id;
		this.tbCodIngRet = tbCodIngRet;
		this.fpobligacion = fpobligacion;
		this.nitagenteRet = nitagenteRet;
		this.nitempleado = nitempleado;
		this.snombreEmpleado = snombreEmpleado;
		this.vmontoDeveng = vmontoDeveng;
		this.vmontoRetenido = vmontoRetenido;
		this.bstatus = bstatus;
	}

	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "iindice", column = @Column(name = "I_INDICE", nullable = false, precision = 18, scale = 0)),
			@AttributeOverride(name = "ncorrelativo", column = @Column(name = "N_CORRELATIVO", nullable = false, precision = 10, scale = 0)) })
	public DcRetAnualId getId() {
		return this.id;
	}

	public void setId(DcRetAnualId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_INGRESO")
	public TbCodIngRet getTbCodIngRet() {
		return this.tbCodIngRet;
	}

	public void setTbCodIngRet(TbCodIngRet tbCodIngRet) {
		this.tbCodIngRet = tbCodIngRet;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FP_OBLIGACION", length = 7)
	public Date getFpobligacion() {
		return this.fpobligacion;
	}

	public void setFpobligacion(Date fpobligacion) {
		this.fpobligacion = fpobligacion;
	}

	@Column(name = "NIT_AGENTE_RET", nullable = false, length = 14)
	public String getNitagenteRet() {
		return this.nitagenteRet;
	}

	public void setNitagenteRet(String nitagenteRet) {
		this.nitagenteRet = nitagenteRet;
	}

	@Column(name = "NIT_EMPLEADO", nullable = false, length = 14)
	public String getNitempleado() {
		return this.nitempleado;
	}

	public void setNitempleado(String nitempleado) {
		this.nitempleado = nitempleado;
	}

	@Column(name = "S_NOMBRE_EMPLEADO", length = 40)
	public String getSnombreEmpleado() {
		return this.snombreEmpleado;
	}

	public void setSnombreEmpleado(String snombreEmpleado) {
		this.snombreEmpleado = snombreEmpleado;
	}

	@Column(name = "V_MONTO_DEVENG", precision = 13)
	public Double getVmontoDeveng() {
		return this.vmontoDeveng;
	}

	public void setVmontoDeveng(Double vmontoDeveng) {
		this.vmontoDeveng = vmontoDeveng;
	}

	@Column(name = "V_MONTO_RETENIDO", precision = 13)
	public Double getVmontoRetenido() {
		return this.vmontoRetenido;
	}

	public void setVmontoRetenido(Double vmontoRetenido) {
		this.vmontoRetenido = vmontoRetenido;
	}

	@Column(name = "B_STATUS", nullable = false, precision = 1, scale = 0)
	public Integer getBstatus() {
		return this.bstatus;
	}

	public void setBstatus(Integer bstatus) {
		this.bstatus = bstatus;
	}

}
